Statement Coverage
コードカバレッジ指標の一つで、テストによって実行されたステートメント(文)の割合を測定する
計算式
code:_
Statement Coverage = 実行されたステートメント数 / 全ステートメント数 × 100%
具体例
code:typescript
function example(x: number): string {
let result = ""; // 文1
if (x > 0) {
result = "positive"; // 文2
} else {
result = "non-positive"; // 文3
}
return result; // 文4
}
example(1) だけをテストした場合:
文1, 文2, 文4 が実行される(文3は未実行)
カバレッジ = 3/4 = 75%
example(-1) も追加すれば文3も実行され 100% になる。
他のカバレッジ指標との比較
table:_
指標 別名 測定対象
Statement Coverage C0 各文が実行されたか
注意点
最も基本的で達成しやすい指標だが、最も弱い保証でもある
Statement Coverage 100% でも Branch Coverage 100% とは限らない
例: if (a && b) で a=true, b=true のみテストすると全文実行されるが、falseの分岐は未検証
バグの検出力としては Branch Coverage 以上を目指す方が実用的
一般的な目安として 80%以上 が推奨されることが多いが、数値自体を目的にしないことが重要